/************************************
 * Package: RGcpp					*
 * Authors: Rui Eduardo Gouveia Gil	*
 * Date: 2010						*
 ************************************/
#ifndef __RGCPP_SYSLOGGER_H_
#define __RGCPP_SYSLOGGER_H_
#ifndef _WIN32
#include <string>
#include <syslog.h>
#include <iostream>

namespace rgcpp
{

class SysLogger
{
	public:
		static void logEmergency(const std::string& message, int facility=LOG_AUTH);
		static void logAlert(const std::string& message, int facility=LOG_AUTH);
		static void logCritical(const std::string& message, int facility=LOG_AUTH);
		static void logError(const std::string& message, int facility=LOG_AUTH);
		static void logWarning(const std::string& message, int facility=LOG_AUTH);
		static void logNotice(const std::string& message, int facility=LOG_AUTH);
		static void logInfo(const std::string& message, int facility=LOG_AUTH);
		static void logDebug(const std::string& message, int facility=LOG_AUTH);

	private:
		static void log(int logLevel, int facility, const std::string& message);
};

}
#endif
#endif
